/****************************************************************************

	COPYRIGHT(C) MAXSI SOFTWARE, JONAS 'SORTIE' TERMANSEN 2008, 2009, 2010

    This file is part of Maxsi Extractor.

    Maxsi Extractor is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Maxsi Extractor is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with Maxsi Extractor.  If not, see <http://www.gnu.org/licenses/>.

	*/ #include "MaxsiExtractorContributors.h" /*

	If you modify this file, please enter your name below and provide contact
	information in MaxsiExtractorContributors.h. For more information please see
	MaxsiExtractorContributors.h.
	
	Contributors to this file:

	- Jonas 'Sortie' Termansen
	- [your name here]


	MaxsiExtractor.exe
	A self-extracting application able to store a series of files inside it
	and able to extract these files to the current working directory, run the
	files, and once done, delete all the files.

	UI.h
	The User Interface for MaxsiExtractor

****************************************************************************/

#ifndef UI_H
#define UI_H

#define MSG_Next			100
#define MSG_Previous		101
#define MSG_Cancel			102
#define MSG_Finish			103
#define MSG_SetStatus		104
#define	MSG_SetProgress		105
#define	MSG_RecieveError	106
#define	MSG_RecieveNews		107
#define MSG_SetSubStatus	108
#define GotoFailurePage		200
#define GotoSuccessPage		201
#define GotoConnectionPage	202
#define GotoErrorPage		203
#define GotoPasswordPage	204
#define QuitMessage			300

class PageExtractor : public MaxsiUI_Form
{
	Declare_Class(PageExtractor,MaxsiUI_Form);

public:

	PageExtractor();
	~PageExtractor();

	virtual bool InitializeForm(ME_Window* Parent);
	virtual bool TerminateForm( void );
	virtual bool RenderForm( HWND hWnd );
	virtual LRESULT APIENTRY WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
	virtual bool NewResolution( WORD Width, WORD Height);
	virtual bool SetProgress(int Progress);

public:
	HWND	Header;
	HWND	ProgressBar;
	HWND	StatusLabel;
	HWND	SubStatusLabel;
};

#endif